<?php
class View {
    
    private static $AUTHORIZED_TYPE = array('form', 'html', 'layout', 'call');

    
    public function __construct() {
    }

    
    public function display($view, $type = 'html', $layout = 'default') {
        if (in_array($type, View::$AUTHORIZED_TYPE) === false) {
            throw new Exception('Type de page non autorizé');
        }
        // Chemin de la vue demandée
        $view_path = RACINE_VUE."$view.$type.php";

        
        //On sauvegarde la view et son type
        register::$_view = $view;
        register::$_typeView = $type;
        
        // On vérifie si la vue existe
        if (file_exists($view_path)) {
            // Si il existe, on l'inclue pour l'affichage
            require_once (RACINE_LAYOUT.$layout.'.layout.php');
        } else {
            // Sinon on charge une erreur (idéalement une page 404)
            echo "La page $view n'existe pas !";
        }
    }

    
    public function show($view, $type = 'html') {
        if (in_array($type, View::$AUTHORIZED_TYPE) === false) {
            throw new Exception('Type de page non autorizé');
        }
        // Chemin du fichier action
        $view_path = RACINE_VUE."$view.$type.php";
        
        // On vérifie si la vue existe
        if (file_exists($view_path)) {
            // Si il existe, on l'inclue pour l'affichage
            include ($view_path);
        } else {
            // Sinon on charge une erreur (idéalement une page 404)
            echo "La page $view n'existe pas !";
        }
    }


}



?>
